#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int i, j, k, n, a[32][32] = { 1 };  //定义一个二维数组并将第一个元素置1,其余置0
	scanf("%d", &n);

	for (i = 0, j = 0; i < n; i++)
		a[i][j] = 1;  //第一竖列初始化为1

	for (i = 1; i < n; i++)
		for (j = 1; j < n; j++)
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; //根据规律计算该元素的值(画图)

	//输出等腰三角形型杨辉三角
	for (i = 0; i < n; i++)  //控制行数
	{
		for (k = 1; k < n - i; k++)  //控制每行前面空格数
			printf("     ");
		for (j = 0; j < n; j++)  //控制列数
			if (a[i][j] != 0)
				printf("%10d", a[i][j]);
		printf("\n");  //换行
	}
	return 0;
}